/*
    Project: OCMF (Operant Chamber Management Framework)
    Version: 1.0
    Author: Copyright (C) 2010, Samuel Delaney & Andrew Harvey
    Licence:
        This file is part of OCMF.

            OCMF is free software: you can redistribute it and/or modify
            it under the terms of the GNU General Public License as published by
            the Free Software Foundation, either version 3 of the License, or
            (at your option) any later version.

            OCMF is distributed in the hope that it will be useful,
            but WITHOUT ANY WARRANTY; without even the implied warranty of
            MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
            GNU General Public License for more details.

            You should have received a copy of the GNU General Public License
            along with OCMF.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef SERVERCONFIG_H
#define SERVERCONFIG_H

#include <QString>
#include <QTextStream>
#include <QFile>
#include <QDir>
#include <QHash>
#include <QStringList>
#include <QTextDocument>
#include <QTextDocumentWriter>
#include <QCryptographicHash>
#include "Logger.h"

class ServerConfig
{
private:
    static QHash<QString, QString> serverVariablesHash;
    static QString configFilePath;
    static QString workingDirectory;
    static QString Encrypt(QString text);
    static QString Decrypt(QString hexText);
public:
    static void LoadConfigFile();
    static void SaveConfigFile();

    static QString GetConfigVariable(QString variableName);
    static void SetConfigVariable(QString variableName, QString variableValue, bool isEncrypted);

    static void RestoreDefaults();
};

#endif // SERVERCONFIG_H
